package model;

import java.util.ArrayList;
import model.estrutura.MalhaIrregular;
import model.estrutura.Ponto;

public class Suavizacao {
    
    public Suavizacao(MalhaIrregular malha){
        ArrayList<Ponto> p = malha.getListaPontos();
        
        for (int i = 0; i < p.size()-5; i++) {
            p.get(i).setZ((p.get(i).getZ() + p.get(i+1).getZ() + p.get(i+2).getZ() + p.get(i+3).getZ() + p.get(i+4).getZ() + p.get(i+5).getZ())/6);
        }
        p.get(p.size()-1).setZ((p.get(p.size()-1).getZ() + p.get(p.size()-2).getZ() + p.get(p.size()-3).getZ() + p.get(p.size()-4).getZ() + p.get(p.size()-5).getZ())/5);
        p.get(p.size()-2).setZ((p.get(p.size()-1).getZ() + p.get(p.size()-2).getZ() + p.get(p.size()-3).getZ() + p.get(p.size()-4).getZ() + p.get(p.size()-5).getZ())/5);
        p.get(p.size()-3).setZ((p.get(p.size()-1).getZ() + p.get(p.size()-2).getZ() + p.get(p.size()-3).getZ() + p.get(p.size()-4).getZ() + p.get(p.size()-5).getZ())/5);
        p.get(p.size()-4).setZ((p.get(p.size()-1).getZ() + p.get(p.size()-2).getZ() + p.get(p.size()-3).getZ() + p.get(p.size()-4).getZ() + p.get(p.size()-5).getZ())/5);
        p.get(p.size()-5).setZ((p.get(p.size()-1).getZ() + p.get(p.size()-2).getZ() + p.get(p.size()-3).getZ() + p.get(p.size()-4).getZ() + p.get(p.size()-5).getZ())/5);
    }
}
